package com.softeem.myrule;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

/**
 * @program: springcloud
 * @author: zcp_will
 * @create: 2020-09-19 10:49
 * @description
 **/
//不写在主启动类同级是因为不需要被@ComponentScan扫描进去
@Configuration
public class RibbonConfig {
    //配置自定义的负载均衡轮询算法
    //IRule
    //RoundRobinRule 轮询
    //RandomRule 随机
    //AvailabilityFilteringRule 会先过滤掉跳闸，访问故障的服务。对剩下的进行轮询
    //RetryRule 会先按照轮询获取服务，如果服务获取失败，则会在规定的时间内进行重试
    @Bean
    public IRule myRule(){
        //将默认的轮询算法该为随机算法
        return new RandomRule();
    }
}
